#include <bits/stdc++.h>

using namespace std;

vector<int> a,b,dp;
int n;

int main(){
	cin>>n;
	a.resize(n);
	for(int i=0;i<n;i++){
		cin>>a[i]; 
	}
	dp.resize(n,1);
	int ans=1;
	for(int i=1;i<n;i++){
		for(int p=0;p<i;p++){
			if(a[p]<a[i]) dp[i]=max(dp[i],dp[p]+1);
		}
		ans=max(ans,dp[i]);
	}
	cout<<ans;
	return 0;
} 
